#ifndef MAINCONTROLLER_H
#define MAINCONTROLLER_H


#include "app/root.h"
#include "actions/action.h"
#include "actions/actioncontroller.h"
#include "actions/actioncontroller_builder.h"

namespace actions
{
    /**
    *   Base application controller
    */
	class MainController
	{
	    app::Root* root; //DOCUMENT

	    ActionControllerBuilder* actionControllerBuilder;
	    ActionController* currentActionController;

	public:
		MainController(app::Root * const _root);
		virtual ~MainController();

		void cancelAction();
		void startAction(ActionTypeEnum actionType);


	protected:
	private:
	};
}
#endif // MAINCONTROLLER_H
